#include "curso_bo.h"

int handle_create_curso() {
    Curso *curso = NULL;
    const char niveis[NUM_NIVEIS][50] = {"SUPERIOR", "TÉCNICO"};

    curso = (Curso *) malloc(sizeof (Curso));
    if (!curso) {
        printf(INSUFICIENT_MEMORY, __FILE__);
        return PROC_FAILURE;
    } else {
        printf("Cadastro de Curso\n");

        printf("Nome do Curso: ");
        __fpurge(stdin);
        scanf("%255[^\n]", curso->descricao);
        
        int i;
        int choice = NOT_FOUND;
        do {
            printf("Nível (digite o cod. do nível):\n");
            for (i = 0; i < NUM_NIVEIS; i++) {
                printf("\t cod.:%d - %s\n", i, niveis[i]);
            }
            printf(DEFAULT_BASH);
            scanf("%d", &choice);
        // enquanto nao estiver no range 0...NUM_NIVEIS
        } while (!(choice >= 0 && choice < NUM_NIVEIS));
        strcpy(curso->nivel, niveis[choice]);

        if (create_curso(curso) != PROC_SUCCESS) {
            free(curso);
            return PROC_FAILURE;
        } else {
            free(curso);
            return PROC_SUCCESS;
        }
    }
}